098e9284655815e61c5512e3271fb4df05925ac4,src/main/java/org/basex/geo/GeoModule.java,GeoModule,z,#ANode#,1067
Before Change
*/
public Dbl z(final ANode node) throws QueryException {
if(node.type != NodeType.ELM)
Err.FUNCMP.thrw(null, this, NodeType.ELM, node.type);
// Retrieve element name
QNm qname = node.qname();
// Check QName
if (qname.eq(Q_GML_POINT)) {
Geometry geom = gmlReader(node);
return Dbl.get(geom.getCoordinate().z);
}
if (qname.eq(Q_GML_MULTIPOINT) || qname.eq(Q_GML_POLYGON) || qname.eq(Q_GML_LINESTRING)
|| qname.eq(Q_GML_MULTIPOLYGON) || qname.eq(Q_GML_MULTILINESTRING)
|| qname.eq(Q_GML_LINEARRING))
throw GeoErrors.pointNeeded(qname.local());
throw GeoErrors.unrecognizedGeo(qname.local());
}
/**
After Change
* @return z double value
* @throws QueryException query exception
*/
public Dbl z(final ANode node) throws QueryException {
// Check QName
QNm[] point = {Q_GML_POINT};
QNm[] other = {Q_GML_LINEARRING, Q_GML_LINESTRING, Q_GML_POLYGON,
Q_GML_MULTILINESTRING, Q_GML_MULTIPOINT, Q_GML_MULTIPOLYGON};
if(checkNode(node, point)) {
Geometry geom = gmlReader(node);
return Dbl.get(geom.getCoordinate().z);
}
if (checkNode(node, other))
throw GeoErrors.pointNeeded(node.qname().local());
return null;
}
/**